package com.cci.kangdao.fieldService.service;

import com.cci.kangdao.dto.PagedRequest;
import com.cci.kangdao.fieldService.dto.request.CreateInvestigationRequest;
import com.cci.kangdao.fieldService.dto.request.CreateWorkOrderRequest;
import com.cci.kangdao.fieldService.dto.request.DeleteInvestigationRequest;
import com.cci.kangdao.fieldService.dto.request.DeleteReportRequest;
import com.cci.kangdao.fieldService.dto.request.EditTemplateSectionRequest;
import com.cci.kangdao.fieldService.dto.request.SelectTemplateRequest;
import com.cci.kangdao.fieldService.dto.request.StartItemServiceRequest;
import com.cci.kangdao.fieldService.dto.request.UpdateReportRequest;
import com.cci.kangdao.fieldService.dto.request.WorkOrderCompletionRequest;
import com.cci.kangdao.fieldService.dto.request.WorkOrderUpgradeRequest;
import com.cci.kangdao.fieldService.model.FieldServiceWorkOrder;

/**
 * @author William Du
 * @date 2020/1/2
 */
public interface FieldServiceService {

    void getOpenItemList(PagedRequest pagedRequest);

    void getItem(Long itemId);

    void startItemService(StartItemServiceRequest startItemServiceRequest);

    void getItemList(PagedRequest pagedRequest);

    void createWorkOrder(CreateWorkOrderRequest createWorkOrderRequest);

    void startService(Long orderId);

    void getWorkOrderList(PagedRequest pagedRequest);

    void getOrder(Long orderId);

    void getOrderDetail(Long orderId);

    void getInvestigationList(Long orderId);

    void createInvestigation(CreateInvestigationRequest request);

    void deleteInvestigation(DeleteInvestigationRequest request);

    void getReportList(Long orderId, Long investigationId);

    void updateReport(UpdateReportRequest reportRequest);

    void deleteReport(DeleteReportRequest deleteRequest);

    void getAvailableTemplateList(Long orderId, Long investigationId);

    void selectTemplate(SelectTemplateRequest request);

    void getTemplateSection(Long reportId, Long sectionId);

    void submitTemplateSection(EditTemplateSectionRequest request);

    void finishTemplateSection(EditTemplateSectionRequest request);

    void getDictionary(String type, String keyword);

    void workOrderUpgrade(WorkOrderUpgradeRequest request);

    void getUpgradeList(Long orderId);

    void workOrderCompletion(WorkOrderCompletionRequest request);

}
